"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/3/6 10:55
@Description : 
编写一个Python程序，实现以下功能：
创建一个名为employees.json的JSON文件，其中包含以下嵌套结构：
{
    "department": "Engineering",
    "employees": [
        {"name": "Alice", "position": "Manager", "salary": 8000},
        {"name": "Bob", "position": "Developer", "salary": 6000}
    ]
}
提示用户输入一名员工的姓名、职位和薪资，并将其添加到employees.json文件中的employees列表中。
从employees.json文件中读取所有员工信息，并以格式化的形式打印到控制台
"""
import json

with open('file/emp.json', 'r', encoding='utf-8') as f:
    emp_dict = json.load(f)
emps: list = emp_dict['employees']  # list

#  格式化输出
from prettytable import PrettyTable
table = PrettyTable()
# 添加表格标题
table.field_names = ['Name', 'Position', 'Salary']
for emp in emps:
    # 添加表格行
    table.add_row([emp['name'], emp['position'], emp['salary']])
print(table)



# 接收数据
emp_name = input('请输入员工姓名:')
emp_position = input('请输入员工职位:')
emp_salary = input('请输入员工薪资:')

emp = {
    'name': emp_name,
    'position': emp_position,
    'salary': emp_salary
}

# 添加新数据到列表
emps.append(emp)
emp_dict['employees'] = emps
with open('file/emp.json', 'w', encoding='utf-8') as f:
    # 将数据以json字符串写出
    json.dump(emp_dict, f, ensure_ascii=False, indent=4)
